home *** CD-ROM | disk | FTP | other *** search
/ NetNews Offline 1 / NetNews Offline Volume 1.iso / news / fido / ger / amiprog / 270 < prev    next >
Internet Message Format  |  1996-03-16  |  3KB

  1. From: Sven_Drieling@p13.f2270.n2426.z2.fido.sub.org (Sven Drieling)
  2. Organization: Gibt es Mails auf dem Mond?
  3. Path: f2270.n2426.z2.fidonet.org!not-for-mail
  4. Newsgroups: fido.ger.amiprog
  5. Subject: Re: StormC
  6. Message-ID: <MSGID_2=3A2426=2F2270.13=40FidoNet_30ddf8ed@fidonet.org>
  7. References: <MSGID_2=3A2449=2F413.23=40fidonet_D206E6DB@fidonet.org>
  8. Date: Sun, 24 Dec 1995 19:05:49 +0200
  9.  
  10. In a message of 22 Dec 95 Axel Doerfler wrote to Karl Lockhoff:
  11.  
  12.  Hi!
  13.  
  14.  AD> Der groesste OOP-Witz ist aber IMHO noch TurboPascal bzw. Delphi. Dort
  15.  AD> kann man eigentlich nicht mehr von einer OOP-Sprache reden. Die
  16.  AD> "Objekte" werden dort ueber Units realisiert und die gibt es schon
  17.  AD> etwas laenger, geaendert hat sich kaum etwas.
  18.  
  19.  Hmm, also wie dann konkret OOP realisiert wird ist ja reletiv egal
  20.  wichtig ist nur, dass Punkte wie:
  21.  
  22.    - Daten ruecken statt den Prozeduren in den Mittelpunkt
  23.      -> Daten und Prozeduren bilden eine Einheit -> Objekte - Zusammenfassung
  24.         der Objekte zu Klassen
  25.    - Vererbung
  26.    - Meldungen an Objekte
  27.    - Geheimnisprinzip
  28.    - Dynamische Binden
  29.  
  30.  vorhanden sind. Oberon-2 bietet gegenueber Modula-2 auch keine besonderen
  31.  Schluesselwoerter fuer OOP, sondern nur Erweiterungen bestehender man kann
  32.  damit aber schoen o-orientiert programmieren.
  33.  
  34.  AD> den letzten Nerv geklaut hat (z.B. koennen 2 Objekte *nicht* miteinander
  35.  AD> kommunizieren).
  36.  
  37.  ??? Einfach etwas wie folgendes einbauen:
  38.  
  39.  TYPE
  40.    Message   = RECORD END; (* Basistyp *)
  41.  
  42.    StringMsg = RECORD(Message)   (* Vererbung von Message *)
  43.                  str: e.STRING;
  44.                END;
  45.  
  46.    ChrMsg    = RECORD(Message)
  47.                  chr: CHAR;
  48.                END;
  49.  
  50.  
  51.   VAR
  52.     stringMsg: StringMsg;
  53.  
  54.   PROCEDURE (s: Text) Handle(VAR msg: Message);
  55.  
  56.   BEGIN
  57.     WITH
  58.       msg: StringMsg DO .....
  59.       msg: ChrMsg    DO ...
  60.     ELSE
  61.     END
  62.   END;
  63.  
  64.  
  65.   BEGIN
  66.     NEW(text); (* Text-Objekt erstellen *);
  67.     NEW(stringMsg); stringMsg.str:="Hallo";
  68.     text.Handle(stringMsg);
  69.   END;
  70.  
  71.  Ich schaetze mal so aehnlich wirds auch in Delphi gehen und schon kann
  72.  man Messages bis zum geht nicht mehr austauschen.
  73.  
  74.  
  75.  AD> Gibt es irgendein OOP-Feature, dass sich nur sehr umstaendlich in eine
  76.  AD> Sprache wie C umsetzen laesst? Mir ist da nichts bekannt.
  77.  
  78.  Nur Leserecht auf Daten. Dazu muesste man in C ne extra Procedure einsetzen
  79.  string:= ReadTextString(object) statt string:= object.TextString;
  80.  
  81.  Ueberschreiben von vererbten Methoden duerfte zumindest auch ein paar
  82.  Klimmzuege benoetigen.
  83.  
  84.  
  85.   tschuess 
  86.         [|8:)
  87.  
  88.